package com.knight.jdk8.optional;

import java.util.Optional;

/**
 * @Description:
 * @author: knight
 * @Date: 2019-04-24 20:41
 */
public class OptionalTest {
    public static void main(String[] args) {

        // 模拟从数据库从获取数据，可能为空也可能不会空
        Student student = Student.getStudent();
        Optional<Student> optionalStudent = Optional.ofNullable(student);
        // 不为空输出名称
        optionalStudent.ifPresent(s-> System.out.println(s.getName()));
        // 为空输出新创建的student的名称否则输出原来的名称
        System.out.println(optionalStudent.orElse(new Student("新创建的", 20)).getName());

        //为空返回一个student
        optionalStudent.orElseGet(()-> new Student());

    }
}
